/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Servicio;

import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.util.ArrayList;

/**
 *
 * @author Ernesto
 */
public class Impresora implements Printable{    

    private ArrayList<String> cadenaImpresora = new ArrayList<String>(); 
    private ArrayList<String> cadenaImpresora2 = new ArrayList<String>();
    private ArrayList<String> cadenaImpresora3 = new ArrayList<String>();
    private ArrayList<Integer> dvd = new ArrayList<Integer>();
    
    public int print (Graphics g, PageFormat f,int pageIndex ){
    
    int margen=30;

    //Para cambiar el tamaño de letra
    java.awt.Font font = g.getFont();
    font = font.deriveFont(0,9);
    g.setFont(font);
    
    
        if(!this.cadenaImpresora2.isEmpty())
        {   int j=73;
         if (pageIndex==0){   
             g.drawString("DVD - Cantidad", margen,73);
        for (int i=0;i<cadenaImpresora.size();i++)
            {
             j+=15;
             g.drawString(this.cadenaImpresora.get(i),margen,j);
             g.drawString(this.cadenaImpresora2.get(i),margen+50, j);
            }
            return PAGE_EXISTS;}
         else 
            return NO_SUCH_PAGE;    
            
            
        }
        else  if (!this.cadenaImpresora.isEmpty()) {
                    if (pageIndex==0){
        
                int altura=83;
                g.drawString("Envío a cargo del cliente",margen,altura);
                altura+=20;
                g.drawString("CLIENTE",margen,altura);
                altura+=1;
                g.drawString("________",margen,altura);
                altura+=13;
                g.drawString("Comprobante Nº:",margen,altura);
                altura+=13;
                g.drawString(cadenaImpresora.get(0).toString(),margen,altura);
                altura+=20;
                g.drawString("NO VALIDO COMO FACTURA",margen,altura);
                altura+=20;
                g.drawString("GTV COMUNICACION",margen,altura);
                altura+=10;
                g.drawString("gtv@gtvcomunicacion.com.ar",margen,altura);
                altura+=10;
                g.drawString("www.gtvcomunicaion.com.ar",margen,altura);
                altura+=10;
                g.drawString("www.medsite.com.ar",margen,altura);
                altura+=15;
                g.drawString("ORDEN DE VIDEO",margen,altura);
                altura+=1;
                g.drawString("_______________",margen,altura);
                altura+=19;
                g.drawString("Nombre:",margen,altura);
                g.drawString(cadenaImpresora.get(1).toString(),margen+50,altura);
                altura+=15;
                g.drawString("Dirección:", margen,altura);
                g.drawString(cadenaImpresora.get(2).toString(),margen+50,altura);
                altura+=15;
                g.drawString("DVD:",margen,altura);
                
                altura+=10;
               
              
               String cadenaDvd=dvd.get(0).toString();
               int auxInt=1;
               
            
                if (dvd.size()==1){
                    g.drawString(cadenaDvd, margen, altura);
                    cadenaDvd="";
                    altura=altura+15;
                }
               
                while (auxInt<dvd.size()){
                    for(int i=auxInt;i< java.lang.Math.min(auxInt+8,dvd.size());i++){
                        cadenaDvd=cadenaDvd+","+dvd.get(i);
                    }
                    auxInt=auxInt+8;
                 //   g.drawString(cadenaDvd, margen+50, altura);
                       
                    
                    g.drawString(cadenaDvd, margen, altura);
                    cadenaDvd="";
                    altura=altura+15;
                }
                
               
                
                
                g.drawString("Fecha:",margen,altura);
                g.drawString(cadenaImpresora.get(4).toString(),margen+50,altura);
                altura=altura+15;
                g.drawString("Total:", margen,altura);
                g.drawString("$ "+cadenaImpresora.get(5).toString(),margen+50,altura);
                altura=altura+15;
                g.drawString("Seña:", margen, altura);
                g.drawString("$ "+ cadenaImpresora.get(6).toString(),margen+50,altura);
                altura=altura+15;
                g.drawString("Saldo:",margen,altura);
                g.drawString("$ "+cadenaImpresora.get(7).toString(),margen+50,altura);
                altura=altura+20;
                g.drawString("Congreso:",margen,altura);
                g.drawString(cadenaImpresora.get(8).toString(),margen+50,altura);
                altura=altura+20;
                g.drawString("Los trabajos deben", margen, altura);
                altura=altura+15;
                g.drawString("ser retirados", margen, altura);
                altura=altura+15;
                g.drawString("dentro de los 30 días", margen,altura);
                //g.drawString(cadenaImpresora.toString(),100,100);
               // g.drawString("hola hola", 200, 200)
           return PAGE_EXISTS;
}
            else 
                return NO_SUCH_PAGE;
        }
    
        else{
        if (pageIndex==0){
                int altura=80;
                g.drawString("Comprobante de Recibo Nº:",margen,altura);
                altura+=15;
                g.drawString(cadenaImpresora3.get(0).toString(),margen,altura);
                altura+=20;
                g.drawString("NO VALIDO COMO FACTURA",margen,altura);
                altura+=20;
                g.drawString("GTV COMUNICACION",margen,altura);
                altura+=15;
                g.drawString("gtv@gtvcomunicacion.com.ar",margen,altura);
                altura+=15;
                g.drawString("www.gtvcomunicaion.com.ar",margen,altura);
                altura+=15;
                g.drawString("www.medsite.com.ar",margen,altura);
                altura+=15;
                g.drawString("ORDEN DE VIDEO",margen,altura);
                altura+=6;
                g.drawString("_______________",margen,altura);
                altura+=19;
                g.drawString("Nombre:",margen,altura);
                g.drawString(cadenaImpresora3.get(1).toString(),margen+50,altura);
                altura+=15;
                g.drawString("Fecha:",margen,altura);
                g.drawString(cadenaImpresora3.get(2).toString(),margen+50,altura);
                altura=altura+15;
                g.drawString("Total:", margen,altura);
                g.drawString("$ "+cadenaImpresora3.get(3).toString(),margen+50,altura);
                altura=altura+20;
                g.drawString("Congreso:",margen,altura);
                g.drawString(cadenaImpresora3.get(4).toString(),margen+50,altura);


           return PAGE_EXISTS;
}
            else 
                return NO_SUCH_PAGE;
        
        }
        
                    
}
    
    
    
    public int imprimir (Graphics g, PageFormat f,int pageIndex ){
            if (pageIndex==0){
                              
    return PAGE_EXISTS;
}
            else 
                return NO_SUCH_PAGE;
}
                     
    public ArrayList<String> getCadenaImpresora ()
    {
        return this.cadenaImpresora;
    }
            
    public void setCadenaImpresora(ArrayList<String> cadenaImpresora)
            
    {
        this.cadenaImpresora=cadenaImpresora;
    }
    public ArrayList<String> getCadenaImpresora2 ()
    {
        return this.cadenaImpresora2;
    }
            
    public void setCadenaImpresora2(ArrayList<String> cadenaImpresora)
            
    {
        this.cadenaImpresora2=cadenaImpresora;
    }
    
      public ArrayList<String> getCadenaImpresora3 ()
    {
        return this.cadenaImpresora3;
    }
            
    public void setCadenaImpresora3(ArrayList<String> cadenaImpresora)
            
    {
        this.cadenaImpresora3=cadenaImpresora;
    }
    
    public ArrayList<Integer> getDvd ()
    {
        return this.dvd;
    }
            
    public void setDvd2(ArrayList<Integer> dv)
            
    {
        this.dvd=dv;
    }
}

